Method, apparatus, and computer readable storage medium comprising instructions for vehicle-to-vehicle communication

ABSTRACT

A method, an apparatus, and a computer-readable storage medium having instructions for Vehicle-to-Vehicle communication. Messages are exchanged between a first vehicle and a second vehicle. Each of the messages includes a hash pointer to the respective last previous message. After completion of the exchange of messages, a hash pointer to the last message of the exchange of messages is signed individually by each participant and published. In case the resulting negotiated contract has to be changed, a further message is added to the exchange of messages, which includes a hash pointer to the last message of the exchange of messages. Finally a hash pointer to the further message is published.

PRIORITY CLAIM

This patent application claims priority to German Patent Application No.10 2017 200 099.6, filed 5 Jan. 2017, the disclosure of which isincorporated herein by reference in its entirety.

SUMMARY

Illustrative embodiments relate to a method, an apparatus, and acomputer-readable storage medium comprising instructions forVehicle-to-Vehicle communication. Illustrative embodiments furtherrelate to a vehicle using such a method or apparatus.

BRIEF DESCRIPTION OF THE DRAWINGS

Exemplary embodiments will become apparent from the followingdescription and the appended claims in conjunction with the figures.

FIG. 1 schematically illustrates the concept of a public ledger;

FIG. 2 schematically illustrates a flowchart of a method forVehicle-to-Vehicle communication;

FIG. 3 depicts a first example of an apparatus for Vehicle-to-Vehiclecommunication;

FIG. 4 depicts a second example of an apparatus for Vehicle-to-Vehiclecommunication;

FIG. 5 schematically illustrates a vehicle comprising an apparatus forVehicle-to-Vehicle communication; and

FIG. 6 shows an exemplary exchange of messages between two vehicles.

DETAILED DESCRIPTION

In Vehicle-to-Vehicle communication messages are exchanged betweenvehicles to enable novel safety-relevant use cases. Most of thecurrently known use cases provide warnings to alert a driver about animminent event, such as two vehicles colliding with each other. To thisend, Vehicle-to-Vehicle communication is based on single messages, whichare signed by the sending vehicle. The signature provides integrity andnon-repudiation. A natural extension to safety warnings are cooperativemanoeuvres, which allow increasing both safety and efficiency of roadusage.

Cooperative manoeuvres can be performed in a variety ways. One efficientway is for two vehicles to negotiate a contract. Once this contract iscomplete, the manoeuvres of the negotiated contract are carried out. Incase a need for a change of plans arises, this change needs to be agreedupon as well.

It may occur that one of the participants deviates from the manoeuvresof the negotiated contract and attempts to afterwards change thenegotiation. There thus is a need to be able to prove a completenegotiation and to identify a party that has a performed such anattempt.

Disclosed embodiments provide a solution for Vehicle-to-Vehiclecommunication, which enables a participant of an exchange of messages toprove a complete negotiation.

This is achieved by a method, by an apparatus, and by acomputer-readable storage medium comprising instructions.

According to at least one disclosed embodiment, a method forVehicle-to-Vehicle communication implemented in a first vehiclecomprises:

-   Exchanging messages between the first vehicle and a second vehicle,    each of the messages comprising a hash pointer to the respective    last previous message; and-   After completion of the exchange of messages, publishing a hash    pointer to the last message of the exchange of messages.

Accordingly, an apparatus for Vehicle-to-Vehicle communicationcomprises:

-   A communication unit configured to exchange messages between a first    vehicle and a second vehicle, each of the messages comprising a hash    pointer to the respective last previous message; and-   A publication unit configured to publish a hash pointer to the last    message of the exchange of messages after completion of the exchange    of messages.

Similarly, a computer-readable storage medium has stored thereininstructions, which, when executed by a computer, cause the computer to:

-   Exchanging messages between a first vehicle and a second vehicle,    each of the messages comprising a hash pointer to the respective    last previous message; and-   After completion of the exchange of messages, publishing a hash    pointer to the last message of the exchange of messages.

The present solution makes use of a public or distributed ledger, asused in the field of blockchain technology. The concept of the public ordistributed ledger is simple and yet very efficient. Its basic idea isto store data in a distributed manner and on non-trustworthy storage,while being able to detect whether any part of the message has beencorrupted. To this end the concept uses hash pointers. A hash pointer toa data element is an object which keeps a link to the data element(e.g., a URL—Uniform Resource Locator) and a hash of the data element. Ahash function is a compression function that has been designed withcollision resistance in mind. This means that the hash function willcreate a digest of the data element (compression part) with the propertythat it is very hard to forge a different file with the same hash(collision resistance). A prominent family of hash functions is thesecure hashing algorithm (SHA) family.

Based on the public ledger, the disclosed embodiments provide a solutionfor distributed consent. Neither of the parties can change the consentafterwards, even if the party is the sole keeper of one of the messagesof the negotiation. One will be able to detect whether the communicationchain has been altered and which participant has altered the chain. Thepublic or distributed ledger concept allows for all participants toprove a complete negotiation without having to store all involvedmessages. The supported number of parties is arbitrary.

According to at least one disclosed embodiment, a further message may beadded to the exchange of messages. The further message comprises a hashpointer to the last message of the exchange of messages. Subsequently ahash pointer to the further message is published. In this way it ispossible to modify the negotiated contract. The modification can beinitiated by either party. The extension of the contract is again sealedby the publication of the hash pointer to the last message. As thischain of messages is longer than the previous one, it supersedes thepreviously agreed contract.

According to at least one disclosed embodiment, the messages are storedby the vehicle sending the message. In this way it is possible to provethe exact content of the messages. Any modification of this content ishampered by the existence of the hash pointer to the message.

According to at least one disclosed embodiment, the hash pointer of amessage or the complete message are stored by the vehicle receiving themessage. This gives the receiver of the message the possibility to proveany modification of the original message by the sender of the message.

According to at least one disclosed embodiment, each message is signedby the vehicle sending the message. Alternatively or in addition, eachpublished hash pointer is signed by the vehicle publishing the hashpointer. Signing the messages or the hash pointers provides anadditional layer of integrity and non-repudiation to the exchange ofmessages.

According to at least one disclosed embodiment, the hash pointer to thelast message of the exchange of messages is published by both the firstvehicle and the second vehicle. Optionally, also the hash pointer to thefurther message is published by both vehicles. In this way eitherparticipant of the exchange of messages does not need to rely on therespective other participant to publish these hash pointers. This makesit easier to prove the content of the negotiated contract, because ifonly one participant were responsible for publication of a hash pointerit might occur that this participant fails to actually publish the hashpointer.

According to at least one disclosed embodiment, a message has one of thetypes request, grant, change, and acknowledge. The present solutionprovides a general framework for negotiations. These four types ofapplication layer messages are sufficient to describe any negotiationbetween vehicles.

A disclosed method or a disclosed apparatus are implemented in anautonomously driven or manually driven vehicle, for instance, in anautonomously driven or manually driven car.

For a better understanding, the principles of embodiments shall now beexplained in more detail in the following description with reference tothe figures. It is understood that the disclosure is not limited tothese exemplary embodiments and that specified features can alsoexpediently be combined or modified without departing from the scope ofthe present disclosure as defined in the appended claims.

FIG. 1 schematically illustrates a prior art concept of a public ledger.The public ledger utilizes a chain of hash pointers 1. Depicted in FIG.1 is a public ledger for a file, separated into three parts 2, 2′, 2″.The owner of the public ledger will publish (or store) the last hashpointer 3 in the chain. As long as this hash pointer 3 is correct, thewhole file can be checked for corruption. If there is no corruption, thefile can be retrieved. This feature is called tamper-evident logging.Even if an attacker controls the three storage units 4, 4′, 4″ depictedin the example, the attacker will not be able to corrupt the filewithout evidence, as it is not possible for him to alter the public hashpointer 3.

FIG. 2 depicts a simplified flow chart illustrating an example of amethod for Vehicle-to-Vehicle communication implemented in a firstvehicle. Messages are exchanged 20 between the first vehicle and asecond vehicle. Each message comprises a hash pointer to the respectivelast previous message. For the first message this hash pointer in null.After completion of the exchange of messages, a hash pointer to the lastmessage of the exchange of messages is published 21. In case theresulting negotiated contract needs to be changed, this can be initiatedby either party. To this end a further message is added 22 to theexchange of messages, which comprises a hash pointer to the last messageof the exchange of messages. Finally a hash pointer to the furthermessage is published 23. Of course, more than one further message may beadded, i.e., a further exchange of messages may be performed. In thiscase the ultimately published hash pointer points to the last message ofthis further exchange of messages.

FIG. 3 shows a simplified schematic illustration of a first example ofan apparatus 30 for Vehicle-to-Vehicle communication, which can beintegrated in a vehicle. The apparatus 30 has a communication unit 32for exchanging messages with another vehicle via an interface 31. Forthis purpose the communication unit 32 may resort to a dedicatedcommunication device of the vehicle. The apparatus 30 further has apublication unit 33 for publishing a hash pointer to a last message ofthe exchange of messages after completion of the exchange of messages.The communication unit 32 and the publication unit 33 may be controlledby a control unit 34. Via a user interface 35 parameters of thecommunication unit 32, the publication unit 33, and the control unit 34may be changed. Data generated in the apparatus 30 are made availablefor further processing via an output 36. The output 36 may also becombined with the interface 31 into a single bidirectional interface. Inaddition, the data as well as the parameters of the various units 32,33, 34 may be stored in a storage unit 37 of the apparatus, e.g., for alater evaluation. The communication unit 32, the publication unit 33,and the control unit 34 can be embodied as dedicated hardware, e.g., asintegrated circuits. Of course, they may likewise be fully or partiallycombined into a single unit or implemented as software running on asuitable processor.

FIG. 4 depicts a second example of an apparatus 40 forVehicle-to-Vehicle communication. The apparatus 40 comprises aprocessing device 42 and a memory device 41. The apparatus 40 is, forexample, a computer or an electronic control unit. The memory device 41has stored therein instructions, which, when executed by the processingdevice 42, cause the apparatus 40 to perform operations according to oneof the described methods. As such, the instructions stored in the memorydevice 41 tangibly embody a program of instructions executable by theprocessing device 42 to perform program operations as described hereinaccording to the principles of the disclosed embodiments. The apparatus40 has an input 43 for receiving information. Output parametersgenerated by the processing device 41 are made available via an output44. In addition, they may be stored on the memory device 41. The output44 may also be combined with the input 43 into a single bidirectionalinterface.

The processing device 32 may comprise one or more processing units, suchas microprocessors, digital signal processors, or combinations thereof.

The storage unit 37 and the memory device 41 may include volatile aswell as non-volatile memory regions and storage devices such as harddisk drives, DVD drives, and solid-state storage devices.

In the following, an embodiment shall be described with reference toFIG. 5 and FIG. 6.

FIG. 5 schematically illustrates a vehicle 5 comprising an apparatus 30for Vehicle-to-Vehicle communication. The apparatus 30 is connected toan internal network 50 of the vehicle 5. The internal network 50 may,for example, make use of CAN (CAN: Controller Area Network) or Ethernettechnology. The exchange of messages between the vehicle 5 and othervehicles is performed by a dedicated communication device 51 of thevehicle 5, which is also connected to the internal network 50. Resultsof the negotiations with other vehicles are provided to furtherprocessing units 53 of the vehicle 5 via the internal network 50, e.g.,to provide information to the driver via a display 53 or toautomatically perform the necessary driving manoeuvres or actions.

FIG. 6 shows an exemplary exchange of messages 7, 10 between twovehicles 5, 6. In this example all messages 7, 10 are signed by thevehicles 5, 6. The hash pointers 8, 11 are covered under that signature.The first vehicle 5 sends a message 7 to the second vehicle 6, in thisexample a request for merging. As this message is the first message inthe chain of messages, the hash pointer to the previous message isempty. In response, the second vehicle 6 sends a message 7 to the firstvehicle 5, here a grant of the request. This message 7 comprises a hashpointer 8 to the previous message sent by the first vehicle 5. With thegrant of the request the negotiation is completed. Therefore, bothparties publish the individually signed hash pointer 9 pointing to themost recent message, here stemming from the second message. Both sidescan be sure that the other side has heard the same set of messages andact accordingly. If the contract has to be changed, either party can dothis by adding another message 10, which has a hash pointer 11 pointingto the last message up to now. The extension of the contract, whichmight, for example, contain changes, will again be sealed by thepublication of the hash pointer 12 to the last message, signed by bothparties individually. As this chain of messages is longer than theprevious one, it supersedes the previously agreed contract. In FIG. 6,the second vehicle 6 needs to change its plan. It sends a change message10 with a hash pointer 11 pointing to its grant from the previousoperation. This shows that the message is a continuation of an exceedingcontract. In response the first vehicle 5 acknowledges the change with afurther message. In conclusion of the negotiation both parties publish ahash pointer 12 pointing to the acknowledgment message.

REFERENCE NUMERALS

1 Hash pointer2, 2′, 2″ Part of a file3 Published hash pointer4, 4′, 4″ Storage unit5 First vehicle6 Second vehicle

7 Message

8 Hash pointer9 Published hash pointer to last message10 Further message11 Hash pointer12 Published hash pointer to further message20 Exchange messages between first vehicle and second vehicle21 Publish hash pointer to last message22 Add further message to exchange of messages23 Publish hash pointer to further message

30 Apparatus 31 Interface

32 Communication unit33 Publication unit34 Control unit35 User interface

36 Output

37 Storage unit

40 Apparatus

41 Memory device42 Processing device

43 Input 44 Output

50 Internal network51 Communication device52 Processing unit

53 Display

1. A method for Vehicle-to-Vehicle communication implemented in a firstvehicle, the method comprising: exchanging a plurality of messagesbetween the first vehicle and a second vehicle, each of the plurality ofmessages comprising a hash pointer to a respective last previousmessage, each hash pointer comprising a link to the respective lastprevious message and a hash of the respective last previous message; andpublishing, after completion of the exchange of the plurality ofmessages, a hash pointer to the last message of the exchange ofmessages, the hash pointer comprising a link to the last message of theexchange of messages and a hash of the last message of the exchange ofmessages.
 2. The method of claim 1, further comprising: adding a furthermessage to the exchange of messages, the further message comprising ahash pointer to the last message of the exchange of messages, the hashpointer comprising a link to the last message of the exchange ofmessages and a hash of the last message of the exchange of messages; andpublishing a hash pointer to the further message, the hash pointercomprising a link to the further message and a hash of the furthermessage.
 3. The method of claim 1, wherein the messages are stored bythe vehicle sending the message.
 4. The method of claim 1, wherein amessage or the hash pointer of a message are stored by the vehiclereceiving the message.
 5. The method of claim 1, wherein each message issigned by the vehicle sending the message.
 6. The method of claim 1,wherein each published hash pointer is signed by the vehicle publishingthe hash pointer.
 7. The method of claim 1, wherein the hash pointer tothe last message of the exchange of messages is published by bothvehicles.
 8. The method of claim 1, wherein the hash pointer to thefurther message is published by both vehicles.
 9. The method of claim 1,wherein a message is one of a request, grant, change, oracknowledgement.
 10. An apparatus for Vehicle-to-Vehicle communication,the apparatus comprising: a communication unit configured to exchangemessages between a first vehicle and a second vehicle, each of themessages comprising a hash pointer to the respective last previousmessage, each hash pointer comprising a link to the respective lastprevious message and a hash of the respective last previous message; anda publication unit configured to publish a hash pointer to the lastmessage of the exchange of messages after completion of the exchange ofmessages, the hash pointer comprising a link to the last message of theexchange of messages and a hash of the last message of the exchange ofmessages.
 11. The apparatus of claim 10, wherein the communication unitis further configured to add a further message to the exchange ofmessages, the further message comprising a hash pointer to the lastmessage of the exchange of messages, the hash pointer comprising a linkto the last message of the exchange of messages and a hash of the lastmessage of the exchange of messages, and the publication unit is furtherconfigured to publish a hash pointer to the further message, the hashpointer comprising a link to the further message and a hash of thefurther message.
 12. The apparatus of claim 10, wherein the messages arestored by the vehicle sending the message.
 13. The apparatus of claim10, wherein a message or the hash pointer of a message are stored by thevehicle receiving the message.
 14. The apparatus of claim 10, whereineach message is signed by the vehicle sending the message.
 15. Theapparatus of claim 10, wherein each published hash pointer is signed bythe vehicle publishing the hash pointer.
 16. The apparatus of claim 10,wherein the hash pointer to the last message of the exchange of messagesis published by both vehicles.
 17. The apparatus of claim 10, whereinthe hash pointer to the further message is published by both vehicles.18. The apparatus of claim 10, wherein a message is one of a request,grant, change, or acknowledgement.
 19. A computer-readable storagemedium having stored therein instructions, which, when executed by acomputer, cause the computer to perform a method for Vehicle-to-Vehiclecommunication implemented in a first vehicle, the method comprising:exchanging a plurality of messages between the first vehicle and asecond vehicle, each of the plurality of messages comprising a hashpointer to a respective last previous message, each hash pointercomprising a link to the respective last previous message and a hash ofthe respective last previous message; and publishing, after completionof the exchange of the plurality of messages, a hash pointer to the lastmessage of the exchange of messages, the hash pointer comprising a linkto the last message of the exchange of messages and a hash of the lastmessage of the exchange of messages.
 20. A vehicle comprising anapparatus for Vehicle-to-Vehicle communication, the apparatuscomprising: a communication unit configured to exchange messages betweena first vehicle and a second vehicle, each of the messages comprising ahash pointer to the respective last previous message, each hash pointercomprising a link to the respective last previous message and a hash ofthe respective last previous message; and a publication unit configuredto publish a hash pointer to the last message of the exchange ofmessages after completion of the exchange of messages, the hash pointercomprising a link to the last message of the exchange of messages and ahash of the last message of the exchange of messages.